Generating Abstract Explanations of Spurious Counterexamples in C Programs

نویسندگان

  • Thomas Ball
  • Sriram K. Rajamani
چکیده

Counterexample driven re nement is a promising technique to generate automatic abstractions for model checking software. A central problem in automating this approach is the re nement of models from spurious error traces. We present a solution to this problem for C programs. Our solution introduces compile time names for run time values, and handles all constructs in the C programming language. We present Newton, an implementation of our solution, and empirical results from running Newton on several C programs.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Abstraction Refinement for Termination

ion Refinement for Termination⋆ Byron Cook, Andreas Podelski, and Andrey Rybalchenko 1 Microsoft Research, Cambridge 2 Max-Planck-Institut für Informatik, Saarbrücken Abstract. Abstraction can often lead to spurious counterexamples. Counterexample-guided abstraction refinement is a method of strengthening abstractions based on the analysis of these spurious counterexamples. For invariance prope...

متن کامل

Under-approximating loops in C programs for fast counterexample detection

Many software model checkers only detect counterexamples with deep loops after exploring numerous spurious and increasingly longer counterexamples. We propose a technique that aims at eliminating this weakness by constructing auxiliary paths that represent the effect of a range of loop iterations. Unlike acceleration, which captures the exact effect of arbitrarily many loop iterations, these au...

متن کامل

Elimination of Spurious Explanations

The generation of explanations is considered as a main asset of knowledge-based systems. In this paper we show that current approaches of generating explanations for constraint satisfaction problems fall short. These approaches can lead to spurious explanations with respect to a proposed (or selected) solution. We introduce an extension of current explanation principles such that all explanatio...

متن کامل

SAT Based Predicate Abstraction for Hardware Verification

Predicate abstraction is an important technique for extracting compact finite state models from large or infinite state systems. Predicate abstraction uses decision procedures to compute a model which is amenable to model checking, and has been used successfully for software verification. Little work however has been done on applying predicate abstraction to large scale finite state systems, mo...

متن کامل

Counterexample-Guided Abstraction Refinement

We present an automatic iterative abstraction-refinement methodology in which the initial abstract model is generated by an automatic analysis of the control structures in the program to be verified. Abstract models may admit erroneous (or “spurious”) counterexamples. We devise new symbolic techniques which analyze such counterexamples and refine the abstract model correspondingly. The refineme...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2002